kerry (Normal User)
Newbie
Messaggi: 7
Iscritto: 10/10/2012
|
Salve a tutti, allora prima di tutto spiego brevemente cosa sto cercando di fare.
Ho una Stringa che viene presa dal testo di una richTextBox, In questa stringa devo ricercare tutte quelle parole che compaiono dopo Info: e che siano all inizio di una nuova riga e che finiscano con ":" A Queste dovrò assegnare una Tag Html di grassetto.
Per capirci meglio, nel esempio sottostante per esempio dovrò individuare le parole "per:" e "Prova:" e farle diventare <b>per:</b> e <b>Prova:</b>
Info:
per:
Prova:
per cui pensavo di procedere in questo modo :
Suddividere la Stringa in parole, ogni parola va a riempire il vertice di un array, per poi fare un ciclo e cercare le corrispondenze.
poi se avete altre alternative ben vengano.
Codice sorgente - presumibilmente C# / VB.NET |
string s = "testo di prova con Info: prova: cosa: ecc "; // non ho messo a capo per comodità per ora
string[] words = s.Split(new string[] { " " }, StringSplitOptions.None); // splitto la stringa per spazio
for (int i = 1; i < words.Length ; i++)
foreach (string parola in words)
if ((words[i] == ("Info:")) && (words[i + 1].EndsWith(":")))
{
Console.WriteLine(words[i]); // anche qui come posso ciclare con tutte le corrispondenze?
i++;
Console.Read();
}
|
Allora nel codice soprastante non ho controllato se la parola seguente è a capo, anche li ho trovato qualche problemino.
E ho stampato il risultato in Console per comodita quando invece a me servirebbe restituire tutte le corrispondenze nella stringa originale circondato da le tag html <b>parola</b>
Spero di essere stato chiaro nella spiegazione e che qualcuno possa darmi una mano
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6405
Iscritto: 03/01/2010
|
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
kerry (Normal User)
Newbie
Messaggi: 7
Iscritto: 10/10/2012
|
Questa è bella ! cosa ci fa una mia discussione iniziata su un altro forum li, avevo scritto le esatte cose....qualcuno deve averla presa e rifatta uguale forse per rispondere alla mia.....
cmq non voglio andare OT ma preferisco essere seguito qui...anche se ora che me l hai fatto notare seguirò anche il mio topic clone
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6405
Iscritto: 03/01/2010
|
Vuoi dire che tu non sei electric? Allora scrivilo in quel forum chiedendo chi l'ha "riscritta" ...
O sei sempre tu che hai scritto su due forum diversi ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Osiride80 (Normal User)
Newbie
Messaggi: 13
Iscritto: 20/05/2010
|
Ciao,
per ringraziarti di aver anche solo che ascoltato il mio problema, oggi in chat, che ho qui esposto..
http://www.pierotofy.it/pages/extras/forum/6/1043370-vb6_r ...
(magari qualcuno da un'occhiata in più anche al mio..)
...ho buttato giu un codice di esempio
un banale form con dentro una richtextbox di nome rtbox e un button di nome btnformat
qui di seguito il codice per il formload e il button
Codice sorgente - presumibilmente C# |
private void Form1_Load(object sender, EventArgs e) { rtBox.Text = "Questo è un testo di prova con Info:\nTitolo: nome titolo\nBrano: nome brano\nArtista: nome artista"; } private void btnFormat_Click(object sender, EventArgs e) { string[] TextRows = rtBox. Text. Split(new string[] { "\n" }, StringSplitOptions. None); // splitto la stringa per gli 'a capo' e ottengo le righe del testo string FormattedText = ""; foreach (string Row in TextRows)//ciclo su ogni riga if (Row.Contains(":") && !Row.ToLower().Contains(" info:"))//formatto le categorie diverse da info FormattedText = FormattedText + "<b>" + Row.Replace(":", ":</b>") + "\n"; else FormattedText = FormattedText + Row + "\n"; rtBox.Text = FormattedText; //riscrivo la casella di testo con il testo formattato }
|
Già dai commenti puoi capire cosa ho fatto ma brevemente.. splitto tutto il testo con le mandate a capo ("\n") e nelle stringhe di testo ottenute cerco i :, quindi formatto la prima parola che è uno tra i tanti criteri incolonnati. Infine concateno le righe trattate una ad una e riscrivo il contenuto nella richtextbox.
Problema risolto in modo semplicistico, tenuto conto che non ho idea se il testo digitato è già in html, in tal caso ci sarebbe da agire ulterioremente sul contenuto digitato e relegato al fatto che si dia per scontato che chi immette del testo lo faccia seguendo lo schema standard sulla falsa riga di questo:
Questo è un testo di prova con Info:
Titolo: nome titolo
Brano: nome brano
Artista: nome artista
Ultima modifica effettuata da Osiride80 il 15/11/2012 alle 16:52 |
|
kerry (Normal User)
Newbie
Messaggi: 7
Iscritto: 10/10/2012
|
Postato originariamente da nessuno:
Vuoi dire che tu non sei electric? |
No non sono io, e quella è l esatta conversazione che ho fatto in un forum di un mio amico dove ho chiesto aiuto, ma va bhe fa niente, sicuramente lo avranno copiato per rispondere al mio originale. Al quanto curioso però
Osiride80, mi aspettavo giusto qualche consiglio, invece sei andato ben oltre
Provato e adattato al mio codice, funziona tutto come dovrebbe, non so davvero come ringraziarti !!
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6405
Iscritto: 03/01/2010
|
Postato originariamente da kerry:
No non sono io, e quella è l esatta conversazione che ho fatto in un forum di un mio amico dove ho chiesto aiuto, ma va bhe fa niente, sicuramente lo avranno copiato per rispondere al mio originale. Al quanto curioso però
|
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Osiride80 (Normal User)
Newbie
Messaggi: 13
Iscritto: 20/05/2010
|
Kerry che dire.. per me è stato un piacere aiutarti, a volte fa bene dare una mano a qualcuno quando sei in cerca di una mano pure te.
A risentirci in futuro.. non si sa mai ciao!
|
|